/**
 * Created by PanJiaChen on 16/11/18.
 */

/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} str
 * @returns {Boolean}
 */
export function validUsername(str) {
  const valid_map = ['admin', 'editor']
  return valid_map.indexOf(str.trim()) >= 0
}

/**
 * 只包含数字字母下划线字符串
 * @param {string} str
 * @returns {Boolean}
 */
export function validWords(str) {
  return /^\w{6,20}$/.test(str)
}

/**
 * 校验电话格式
 * @param {string} str
 * @returns {Boolean}
 */
export function validMobile(str) {
  return /^0?(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[8-9])[0-9]{8}$/.test(str)
}

/**
 * 校验邮箱
 * @param {string} str
 * @returns {Boolean}
 */
export function validEmail(str) {
  return /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(str)
}

/**
 * 只包含数字字母下划线字符串
 * @param {string} str
 * @returns {Boolean}
 */
export function validQQ(str) {
  return /^[1-9][0-9]{4,9}$/.test(str)
}

export function cleanObj(obj) {
  for (const key in obj) {
    obj[key] = undefined
  }
}
